package cn.csc.module.distribute.controller.admin.withdraw.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.math.BigInteger;

/**
* 提现记录 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class DistributeWithdrawBaseVO {

    /**
     * 用户USERID
     */
    @ApiModelProperty(value = "用户ID", required = true)
    private BigInteger userId;

    /**
     * 分销商姓名
     */
    @ApiModelProperty(value = "分销商姓名")
    private String name;

    /**
     * 分销商电话
     */
    @ApiModelProperty(value = "分销商电话")
    private String mobile;

    /**
     * 银行卡号
     */
    @ApiModelProperty(value = "银行卡号", required = true)
    private String acctNo;

    /**
     * 开户支行名称
     */
    @ApiModelProperty(value = "开户支行名称", required = true)
    private String acctOpenBranchName;

    /**
     * 收款人
     */
    @ApiModelProperty(value = "收款人", required = true)
    private String payee;

    /**
     * 申请提现金额
     */
    @ApiModelProperty(value = "申请提现金额", required = true)
    private BigDecimal applyAmount;
    /**
     * 实际打款金额
     */
    @ApiModelProperty(value = "实际打款金额", required = true)
    @NotNull(message = "实际打款金额不能为空")
    private BigDecimal actualAmount;

    /**
     * 审核状态 0:待审核 5:审核通过提现 10:审核不通过
     */
    @ApiModelProperty(value = "审核状态 0:待审核 5:审核通过提现 10:审核不通过")
    private Integer auditStatus;

    /**
     * 审核原因
     */
    @ApiModelProperty(value = "审核原因")
    private String auditReason;

    /**
     * 支付凭证
     */
    @ApiModelProperty(value = "支付凭证")
    private String payVoucher;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String comment;

}
